package com.lihepeng.leecode.slip_window;

import java.util.ArrayList;
import java.util.List;

/**
 * 给定一个字符串 s 和一个非空字符串 p，找到 s 中所有是 p 的字母异位词的子串，返回这些子串的起始索引。
 * <p>
 * 字符串只包含小写英文字母，并且字符串 s 和 p 的长度都不超过 20100。
 * <p>
 * 说明：
 * <p>
 * 字母异位词指字母相同，但排列不同的字符串。
 * 不考虑答案输出的顺序。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/find-all-anagrams-in-a-string
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class SlipWindow1 {
    public List<Integer> findAnagrams(String s, String p) {
        if (p.length() > s.length()) {
            return new ArrayList<>();
        }
        char[] sChars = s.toCharArray();
        char[] pChars = p.toCharArray();
        List<Integer> ans = new ArrayList<>();
        // 定义一个need数组查看p里面包含元素的个数
        int[] needs = new int[26];
        // 定义一个window数组查看滑动里面包含的元素个数
        int[] window = new int[26];
        // 将p 里面的元素放到needs 里面
        for (int i = 0; i < pChars.length; i++) {
            needs[pChars[i] - 'a'] += 1;
        }
        // 定义窗口左右啷个指针
        int left = 0, right = 0;
        while (right < sChars.length) {

        }
        return null;


    }
}
